//
// Created by ✎﹏ℳ๓独赏 ☆独醉 on 2023/2/26.
//
#include <stdio.h>

void test(){
    int a = 1;
    /*
     * static修饰局部变量
     * static使b成为了一个静态的局部变量，此时b的生命周期变长
    */
    static int b = 1;
    a++;
    b++;
    printf("a = %d\n",a);
    printf("b = %d\n",b);
}

int main(){
    int i = 0;
    while(i<3){
        test();
        i++;
    }





    printf("\n\n\n");
    /*
     * static修饰全局变量
     * 改变了变量的作用域，让静态的全局变量只能在在自己所在的源文件内部使用。
     */
    extern int c;
    printf("a:%d\n",c);
//    extern int b;
//    printf("b:%d\n",b);





    printf("\n\n\n");
    /*
     * static修饰函数
     * 改变了函数的链接属性
     * 普通函数具有外部链接属性，经过static修饰后变为内部链接属性
     */
    int j = 10;
    int k = 10;
    extern int add01();
    int sum01 = add01(j,k);
    printf("sum01:%d\n",sum01);
//    extern int add02();
//    int sum02 = add02(j,k);
//    printf("sum02:%d\n",sum02);
    return 0;
}